home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-28 | 10.6 KB | 239 lines | [TEXT/MMCC] |
- Metrowerks 68K and PowerPC Debugger release notes
- =================================================
-
- Version: 1.0b1
- Date: April 28, 1994
- Author: Dan Podwall
-
- This is a pre-DR3 release of the Metrowerks Debugger for
- Power Macintosh. This version is functionally equivalent
- to the debugger that will appear in the DR3 CodeWarrior
- release. We are making this development version available
- to address problems some users have had with the DR2
- PowerPC debugger. The version that will be release will
- have undergone further QA. Please help us by reporting
- any problems you find with this interim release. Address
- your reports to:
-
- AppleLink: SUPPORTWERKS, with cc: to DPODWALL
- Internet: support@metrowerks.ca, with cc: to dpodwall@world.std.com
-
- There are several new features in this release. Documentation will
- be available with the official release on the DR3 CD.
-
- ## Important notes for Power Macintosh users ##
-
- - This release has two patchers: one for the MW Debug/PPC application,
- and one for DebugServices for PowerPC. Please run the patchers on
- fresh copies from your DR2 CD. PPCTraceEnabler does not required
- patching, but is still required for debugging. Remove the old
- DebugServices and make sure you are running the updated version.
-
- - If you also have the Macintosh Debugger for PowerPC (formerly
- R2DB) from Apple’s Macintosh on RISC SDK, make sure you deactivate
- the PPC Debugger Nub when using the Metrowerks debugger. Do this
- via the “Debugger Nub Controls” control panel. When enabled, the
- PPC Debugger Nub causes the Metrowerks debugger to run *much* slower.
-
- - Any crashes that occur in 68K emulated code are not trapped by the
- DebugServices. It is a good idea to run Macsbug 6.5d6 or later
- along with the Metrowerks debugger.
-
- - The DebuggerINIT, used by the 68K debugger, is incompatible with the
- PowerPC Thread Manager extension. If you use the Thread Manager do not
- install DebuggerINIT. DebuggerINIT is not used for PowerPC debugging.
-
-
- This is a beta release of the Metrowerks Debuggers for 68K and
- PowerPC.
-
- Summary of changes
- ``````````````````
-
- Here's a summary of the new features since the a1 release on the
- DR2 CD. Further information is available in the online
- documentation.
-
- - The collection window provides a single place where you can
- look at frequently use local variables, global variables,
- struct members, and array elements without lots of window
- switching and scrolling around. Use the “Copy to Collection”
- command to add the selected item to the collection window.
- If you have installed Macintosh Drag and Drop then you can drag
- and drop variables onto the collection window.
-
- Collection window contents are currently not saved across
- debugger sessions.
-
- - The array window has been enhanced to support specifying the array
- size, and to allow binding the array address to a variable, register,
- or absolute address.
-
- The array window has an expandable information pane. When the pane is
- collapsed, it shows the array element type and starting address.
- The window title indicates what the array is bound to as follows:
-
- variable name: starting array address is the variable's address for
- non-pointer variables. For pointer variables the array address is
- the pointer value. Created by selecting “Open Array Window” with
- an array or pointer variable selected.
-
- register name: starting array address is the register value. Created
- by selecting “View Memory As…” with a 4-byte register selected.
-
- hex address: starting array address is the absolute address. Created
- by selecting “View Memory As…” with a variable selected.
-
- The information pane expands to show the array binding value, binding type,
- array size, and struct member selection.
-
- The array binding value is either a variable name, register name, or
- address. It can only be edited when the array is bound to an address.
- The radio buttons indicate the array binding type. It can only be changed
- to address binding.
-
- The array size applies to vectors. You can specify the array size to any
- desired value.
-
- The struct member selection popup applies only when array elements are
- of struct type. It allows you to filter out all but a single struct member
- to get an overview of that member's value for the whole array. For example,
- if you have an array of Rect and want to see the "top" member without
- expanding each element, select "top" in the popup. The value of "top"
- is shown for each array element.
-
- When Macintosh Drag and Drop is available, you can rebind an existing
- array window to a different variable or register by dragging and dropping
- a variable or register. Registers must be 4-bytes and can be dragged by
- clicking on the register name in a register window. Array elements can be
- dragged to the collection window.
-
- As mentioned before, the “View Memory As…” command opens an array window
- bound to an address or register. This interprets memory as an array of
- some type, not as a hex dump. You are prompted to specify the element type
- before the window is displayed.
-
- - The register windows support display and editing of CPU registers.
- To conserve screen real estate, the windows come up displaying only
- the general data and address registers. Zoom the window to display
- the full set of registers. Status and condition registers are displayed
- according to the logical fields of the register. The single bit fields
- can be toggled by doubling-click, or selecting and hitting return/enter.
-
- - The toolbar window offers shortcuts for the most commonly used
- Control menu commands. The toolbar visibility is remembered across runs,
- so if you don't like it, then hide it.
-
- - Some preferences can be specified with the “Preferences…” command. Here
- is a description of what they do:
-
- - Save window settings…
- Enables saving the local .dbg files. These files contain window settings
- and optionally, breakpoints.
-
- - Save breakpoints
- If saving a .dbg file is enabled, you can separately enable/disable
- breakpoint saving.
-
- - Use temporary memory for .SYM…
- When enabled, the debugger uses MultiFinder memory to store the
- SYM file data. This lets you keep the debugger partition smaller.
- The default debugger partition assumes this option is enabled, so
- when disabling it you should increase the debugger partition by
- the SYM file size.
-
- - At startup, prompt for SYM file…
- Determines the debugger behavior when the debugger is launched
- without a SYM file. When enabled, the debugger prompts for a SYM file,
- when disabled, the debugger does nothing.
-
- - Automatically launch applications…
- When enabled, the debugger automatically sets a breakpoint at main()
- and runs your application. Disable this if you want to debug code
- that executes before main() is entered, such as C++ static constructors.
- There is no way to step into that code, so you need to manually set
- breakpoints at the desired locations. The current setting can be
- temporarily overriden by holding down the option key as the file is
- being loaded.
-
- - Ignore file modification dates
- Disables the warnings that occur when the application or source
- file modification date doesn't match the date stored in the SYM file.
- This usually means the file was changed since compiling or linking, and
- the debugger will not have correct information for some or all of the
- program. If your build environment or application cause this warning
- to become annoying then you can shut off the warnings.
-
- - Always prompt for source file location…
- If you specify full paths in the SYM file then the debugger usually
- can find all your files when debugging. When it can't find a file the
- debugger will prompt you to find it, and remember the folder that the
- file was in. The next time it needs to find a file in the same session,
- the debugger will look in those folders for the new file. Disabling this
- option causes the debugger to always prompt for the file if it is not
- where the SYM file says it should be.
-
- - In variable panes, show variable types by default.
- When enabled, new windows with variable panes will show the variable
- types. This setting is also stored in the .dbg file, which overrides
- the global setting.
-
- - Attempt to use the dynamic type of C++ objects.
- When enabled, the debugger tries to show the runtime type of an
- object. Disable this to always use just the static type.
-
- - Default size for unbound array.
- Specifies the array size to use when no size information is available.
-
- KNOWN BUGS AND OTHER CAVEATS
- ````````````````````````````
-
- - On the PowerPC, if the debugger quits due to an assertion failure or out
- of memory alert, you should restart the machine before attempting to use
- the debugger again. Otherwise the debugger may not be able to establish
- a communication session with the nub. This does not apply to 68K.
-
- - On PowerPC, don't attempt to step out of a PowerPC routine into
- a 68K routine. The system will hang. Either DebugServices or the
- Metrowerks Debugger will catch this in a future release.
-
- - The environment occasionally fails to put in symbolic information for some
- types in the SYM file. If the debugger refuses to display a struct or
- class variable, that is probably the cause.
-
- - No type information is currently available for the QuickDraw globals, including
- qd.thePort.
-
- - Window placement is not very smart yet.
-
- - Redrawing has not been optimized for updating, resizing, and context switch.
- Some may come with future PowerPlant releases, and some is debugger-specific.
-
- - Make sure A6 frames are enabled when debugging 68K programs.
-
- - On PowerPC, when instruction scheduling is enabled the compiler is free to
- rearrange code within basic blocks. The sequence of code within basic
- blocks may not correspond to the sequence of statements in your source code.
- Because of this, when instruction scheduling is enabled the compiler only
- puts statements at the beginning of each basic block. This means
- that you can only step to or set breakpoints at the start of each
- basic block. This is not a bug.
-
- Bug Reports
- ```````````
-
- Please send in your bug reports using the Applelink Bug Report Template stored
- in the release notes folder. Send reports to:
-
- Applelink: METROWERKS with cc:DPODWALL
- Internet: support@metrowerks.ca with cc:dpodwall@world.std.com
-
- Happy debugging!
-
- -------------------------------------------------------------------------
- Dan Podwall AppleLink: DPODWALL
- Metrowerks, Inc. Internet: dpodwall@world.std.com
-
-
-
-